Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

642
Vistas
Por qué obtengo "Error no implementado: los objetos de la base de datos no implementan la prueba del valor de verdad o bool ()". mientras ejecuta makemigration cmd en django

Estoy tratando de conectar Django con MongoDB usando Djongo. Cambié el parámetro de la base de datos pero recibo este error Error no implementado: los objetos de la base de datos no implementan la prueba del valor de verdad o bool(). cuando estoy ejecutando el comando makemigration.

Por favor, ¿alguien puede explicar por qué recibo este error y cómo resolverlo?

He incluido el archivo settings.py, el registro de errores y la imagen de configuración de la brújula mongodb.

configuración.py

 """ Django settings for Chatify project. Generated by 'django-admin startproject' using Django 3.2.9. For more information on this file, see https://docs.djangoproject.com/en/3.2/topics/settings/ For the full list of settings and their values, see https://docs.djangoproject.com/en/3.2/ref/settings/ """ from pathlib import Path # Build paths inside the project like this: BASE_DIR / 'subdir'. BASE_DIR = Path(__file__).resolve().parent.parent # Quick-start development settings - unsuitable for production # See https://docs.djangoproject.com/en/3.2/howto/deployment/checklist/ # SECURITY WARNING: keep the secret key used in production secret! SECRET_KEY = 'django-insecure-1k4mo05el_0112guspx^004n-i&3h#u4gyev#27u)tkb8t82_%' # SECURITY WARNING: don't run with debug turned on in production! DEBUG = True ALLOWED_HOSTS = [] # Application definition INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'api.apps.ApiConfig', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] ROOT_URLCONF = 'Chatify.urls' TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] WSGI_APPLICATION = 'Chatify.wsgi.application' # Database # https://docs.djangoproject.com/en/3.2/ref/settings/#databases # DATABASES = { # 'default': { # 'ENGINE': 'django.db.backends.sqlite3', # 'NAME': BASE_DIR / 'db.sqlite3', # } # } DATABASES = { 'default': { 'ENGINE': 'djongo', 'NAME': 'users', } } # Password validation # https://docs.djangoproject.com/en/3.2/ref/settings/#auth-password-validators AUTH_PASSWORD_VALIDATORS = [ { 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', }, { 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', }, { 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', }, { 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', }, ] # Internationalization # https://docs.djangoproject.com/en/3.2/topics/i18n/ LANGUAGE_CODE = 'en-us' TIME_ZONE = 'UTC' USE_I18N = True USE_L10N = True USE_TZ = True # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.com/en/3.2/howto/static-files/ STATIC_URL = '/static/' # Default primary key field type # https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'

Registro de errores

 File "manage.py", line 22, in <module> main() File "manage.py", line 18, in main execute_from_command_line(sys.argv) File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 419, in execute_from_command_line utility.execute() File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 413, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\base.py", line 367, in run_from_argv connections.close_all() File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\django\db\utils.py", line 213, in close_all connection.close() File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\asyncio.py", line 33, in inner return func(*args, **kwargs) File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\django\db\backends\base\base.py", line 294, in close self._close() File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\djongo\base.py", line 208, in _close if self.connection: File "C:\Users\DELL\AppData\Local\Programs\Python\Python37\lib\site-packages\pymongo\database.py", line 829, in __bool__ raise NotImplementedError("Database objects do not implement truth " NotImplementedError: Database objects do not implement truth value testing or bool(). Please compare with None instead: database is not None

Imagen de la base de datos local de MongoDBCompass MongoDB

over 4 years ago · Santiago Trujillo
6 Respuestas
Responde la pregunta

0

El problema es con la nueva versión de pymongo (4.0 del 29.11.2021) que no es compatible con Djongo 1.3.6. Necesitas instalar pymongo 3.12.1. Tuve el mismo problema hace 2 horas.

over 4 years ago · Santiago Trujillo Denunciar

0

Cambié mi versión de python en python==3.6.9 y ahora funciona y migra con éxito.

over 4 years ago · Santiago Trujillo Denunciar

0

Intente instalar django-mongoengine y seguramente resolverá el problema.

over 4 years ago · Santiago Trujillo Denunciar

0

Cambié mi versión de pymongo a 3.12.1 y ahora funciona y es un hecho divertido: sucedió en producción, mi cliente me dio como 20 llamadas en una hora, me asustará por la noche.

over 4 years ago · Santiago Trujillo Denunciar

0

La instalación de mongoengine funcionó para mí. comando: pip instalar mongoengine

over 4 years ago · Santiago Trujillo Denunciar

0

El problema real es con pymongo==4.0.1. al instalar mongoengine por pip install mongoengine , instala pymongo==3.12.3 Por lo tanto, no es necesario volver a instalar mongoengine, simplemente instale pymongo==3.12.3 por pip install pymongo==3.12.3 .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda